package com.hd.sup.modules.vehicle.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hd.sup.modules.vehicle.model.VehicleTrail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 车辆轨迹表 按天分表 Mapper 接口
 * </p>
 *
 * @author chentl123
 * @since 2020-12-28
 */
public interface VehicleTrailMapper extends BaseMapper<VehicleTrail> {
    /**
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @author chentl
     * @description 获取车辆轨迹点分页
     * @date 2021/1/15 11:03 上午
     * @params [param]
     */
    List<Map<String, Object>> getVehicleTrackPage(@Param("page") Page<Map<String, Object>> page, @Param("param") VehicleTrail param);

    /**
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @author chentl
     * @description 实时轨迹分页
     * @date '2021/2/3' 2:37 下午
     * @params [page, param]
     */
    List<Map<String, Object>> getVehicleRealTrackPage(@Param("page") Page<Map<String, Object>> page, @Param("param") VehicleTrail param);

    /**
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @author chentl
     * @description 获取车辆轨迹点
     * @date 2021/1/15 11:03 上午
     * @params [param]
     */
    List<Map<String, Object>> getVehicleTrack(@Param("param") VehicleTrail param);

    /**
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @author chentl
     * @description 实时轨迹查询
     * @date 2021/2/3 2:37 下午
     * @params [param]
     */
    List<Map<String, Object>> getVehicleRealTrack(@Param("param") VehicleTrail param);

    /**
     * @return void
     * @author chentl
     * @description 插入
     * @date 2021/2/1 2:20 下午
     * @params [vehicleTrail]
     */
    void insertTrail(@Param("vehicleTrail") VehicleTrail vehicleTrail);

    /**
     * @return java.util.Map<java.lang.String, java.lang.Object>
     * @author chentl
     * @description 获取车辆上次关火时间
     * @date 2021/2/5 11:51 上午
     * @params [vehicleTrail]
     */
    Date getLastAccGpsTime(@Param("param") VehicleTrail vehicleTrail);
}
